There are three basic (in terms of prevalence) groups of methods for inputting characters.
1. Handwritten methods. The method completely emulates writing a character on paper. A character is uniquely identified by the sequence, size and relative position of standard strokes, the number of which may range from 32 to 36. Traditionally, a stroke is an element of a character, which can be drawn without tearing off the brush from paper. For example, a character “” (one) consists of one stroke “”, character “” (three) consists of three strokes “”, and character “” (second) consists of one stroke “” as well. Machine “recognizes” the inputted character using certain algorithms and offers the user an option (or options) to insert it into a respective position (known as an input focus) in a program waiting for input. Needless to say about the speed of handwritten input, because the number of strokes in character can reach several dozens, and for correct recognition of the character drawn by the user, accuracy of reproduction is required on three parameters: sequence of input of strokes, their relative position and size. It is clear that the speed of such handwritten characters input is in principle not higher than the speed of writing characters on paper. The handwritten input has only one advantage: it does not require a new skill for those who have already completed the training course on writing on paper.
2. Phonetic methods. Character is inputted based on its normative sound (e.g. Beijing dialect, Cantonese, etc.), which is written by Latin letters (pinyin) or Cyrillic letters (palladium) or letters of the Chinese phonetic alphabet (zhuyin). There are other ways of writing the pronunciation of characters, but they are not widely spread and fundamentally do not differ from the above. The most common phonetic input is by pinyin. Phonetic input has two main disadvantages.
1. There is no one-to-one correspondence between character and its sound. Certain character can be pronounced differently (have up to 8 versions of reading); separate syllable can correspond to several dozens of characters (about 25 thousands of Unicode characters are “sounded” with only 1314 Chinese syllables, each syllable corresponds in average to 19.3 characters, only 57 syllables are written with one character, while syllable “and” of the 4th tone (“yì”) in Unicode corresponds to 337 characters). Therefore, there is a problem of selecting a desired character from all characters proposed by the system in response to sound input. It is clear that the selection from possible versions reduces the speed of input, requiring additional attention and additional manipulations from the user.
2. Phonetic input is not possible for characters, whose pronunciation is forgotten or unknown to the user at all, which happens often, for example, when searching for unknown characters in a dictionary.
3. Shape-based methods. It is possible to try to eliminate the deficiencies of phonetic input with the aid of shape-based input methods. These methods, relying on analysis of the graphic structure of a character, are not associated with its pronunciation, hence, the second disadvantage of phonetic methods can be immediately eliminated, i.e. they allow input of characters with unknown pronunciation.
First of all, radical-based methods of inputting characters are worth noting, which fully emulate the search of character in a “paper” dictionary. Radicals graphically represent certain individual components of characters. Characters in many “paper” dictionaries are indexed by radicals, and radicals in this index are arranged in order of increasing the number of strokes. As radicals are used to index characters, they must be separate, easily identifiable, frequently occurring blocks in the character composition. Most often radicals are positioned “at the beginning” of a character: at the left or on the top (as a trace of the fact that originally characters were written from top down). Some of radicals are simple strokes, some are independent characters, some of radicals have variants that are sometimes noticeably different in inscription compared to the main radicals. In general, variants differ from radicals in that they cannot act as a separate character in this inscription, but are found only in composition of other characters, preserving their radical meaning, i.e. characters, which include these variants, are in the index in the same group of characters as characters with the main radical in their composition. It is clear that the set of radicals is bound to a particular dictionary, and in reality a number of radicals differs from dictionary to dictionary at the originator's will, and can reach, along with their generally accepted variants, almost three hundred pieces. Kangxi radicals set, which exists from the 18th century and is made up of 214 radicals, is regarded as classic one. It should be borne in mind that radicals traditionally have a semantic component: each of them has a “name” and is identified with a certain group of phenomena, actions, objects. The semantic component of radicals is widely used in mnemonics memorizing meanings of specific characters containing a particular radical. Thus, learning the radicals is an indispensable element of the study of hieroglyphics in general.
Radical-based input methods use either a virtual keyboard on the device screen, or even handwritten input. The only component isolated in the character structure is its radical; the remaining part of the character is characterized by one aggregate parameter—the number of strokes of the character except for the strokes of the radical itself. Thus, the non-radical character components are irrelevant: radical is the main identifier of the character, the rest are not important. Whether they (the remainders) coincide with other radicals, their combination or with their part is of no importance. The user needs to know radical for each character and remember (or calculate in mind) the number of strokes in the remainder. The number of strokes of the character, excluding the number of strokes of the radical itself, is the second mandatory search parameter. See, for example, U.S. Pat. No. 6,809,725 B1, “On screen Chinese keyboard” (Jishan Zhang, 26 Oct. 2004). On the virtual keyboard described in the patent '725 for radical-based input, the keys are arranged in order of increasing the number of strokes. The user initially sees only groups of radicals from 1 to 10 strokes (the last group includes all other radicals having more than 10 strokes), and must specify the needed group, then a list of radicals with the specified number of strokes appears, which also requires making a choice. The user selects the number of additional strokes in the remaining part of the character (the number of character strokes, excluding radical strokes). After that, a list of characters, containing this radical and the specified number of strokes in the remainder, is displayed. The user must select the needed character from the list. The method is usable for searching characters in a dictionary, but is not suitable as a text input method due to the large number of necessary manipulations, large number of candidate characters in each “radical-stroke” group and, thus, low speed of such input.
There are also methods that use the idea of combination of radicals. See, for example, U.S. Pat. No. 5,586,198 A, Method and apparatus for identifying characters in an ideographic alphabet (Lakritz David, 17 Dec. 1996). This patent '198 describes a method and apparatus for identifying symbols in an ideographic alphabet, which allow a user to graphically describe a symbol using a set of its components. The method uses combinations of 82 radicals. The document does not disclose how many characters can be inputted using such combinations. The user places components in the desired sequence directly on the screen using the drag-n-drop operations on the components. Matrix (or “canvas”) where the character is assembled is divided into 9 sectors, and the machine “itself” takes into account the relative position of the components, because it “knows” in which sector the operator has placed a particular component. Therefore, for identifying the character this method takes into account, apart of components, also their relative position. But it is almost impossible to describe all characters with such a small set of components, so the uncertainty level in the input remains high. Indeed, in the example of FIG. 3 of patent '198 character  is identified with the aid of three components. But in the same way, with the aid of the same components, 4 characters more are identified. With this set of radical components, character  is not distinguishable for the machine for example from character . Therefore, the identification is ambiguous and, for inputting character, additional attention is required from the user and additional manipulation to select the desired character from five proposed. Advantages of this method include the use of radicals as a natural and familiar for the Chinese hieroglyphics division of characters into components.
The following group of shape-based input methods will be, for definiteness, referred to as structural coding methods. These methods rely on the idea of coding the graphic structure of character with the aid of letters of the Latin alphabet. Essentially, some rules are introduced for decomposition of character into “standard”, pre-defined components. Each of these components is assigned a certain letter of the Latin alphabet and is positioned on the corresponding key of the standard Latin keyboard. The user presses the keys successively, i.e. enters a sequence of letters representing the sequence of character components; the machine identifies characters from this received letter code and outputs a list of candidate characters associated with the inputted sequence of components; the user should specify in some way which of the candidate characters should be inserted into the text. The best known methods of structural coding are wubi and Cangjie.
Wubi method uses from 204 to 227 components in different implementations, almost half of them graphically coincide with the classic Kangxi radicals or their variants, some are represented by separate radical elements, the other part is represented by separate strokes (about 90 “non-radical” components, i.e. those that do not graphically resemble radicals). All these components are “bound” to 25 keys of the standard Latin keyboard, so each key corresponds to 3 to 14 components, and accordingly, from 3 to 14 components have the same letter code. The logic of arrangement of components on the keyboard, their binding, has a complex structure and is related not to the convenience of input, but to an attempt to facilitate the memorization of this complex component structure. The used components are not equally significant. There are five “basic strokes”, according to which the remaining components are divided into five groups based on the first stroke of each component, 25 “basic characters”, which can also act as components (and then they are inputted by other rules, different from the rules for inputting the basic characters), and usual components. Decomposition rules are quite complex and depend on the type of arrangement of components in the character, there are four types of arrangement. Decomposition of some characters requires taking into account the relative position of components in the form of so-called “distinction code”. Distinction code is a combination of “component number”, which is determined by the component's belonging to one of the five groups of basic features and the types of relative positioning of components in the character: left-right, top-bottom, and mixed type. Since there are five basic features and only 15 distinction codes, therefore, 15 keys perform, besides inputting component codes, the function of inputting distinction codes, these codes being the same Latin letters that encode the components. In some situations, during decomposition, one more parameter becomes important, the “last stroke” of the component. To minimize the use of distinction codes, the developers introduced different rules for definition of this “last stroke” of character for 4 different types of characters.
When inputting components, the user generally repeats the order of writing strokes in character, but there are some exceptions. Characters are not identical by input method, i.e. there are different input algorithms for different types of characters. For example, to input basic or “capital” characters, the corresponding key must be pressed several times (two to four times). For a part of a character, the keys corresponding to components of the desired character must be simply pressed in succession. For some characters, the code of relative position of these components (aforementioned distinction code) should be also inputted. For some characters, two letters should be inputted, and then the input must be completed up to four characters with the L key.
All these algorithmic actions are required to obtain for each character a unique alphabetic code that allows identifying it, for example:
±—fghg
+—fgh
—w
—km
—kmy
—rtgh
—qqqq
. . . etc.
The machine “works” just with these codes, selecting desired characters as the letters are being inputted. Analysis of opportunities of the method is based on the table of correspondence of letter codes to characters, including the published “Wubi86 Table”. When using the code, input of character requires up to four manipulations (keystrokes), and only 636 characters of all possible ones can be uniquely identified after pressing one or two keys. Developers found it possible to add to the table of characters both polysyllabic words consisting of two characters and whole phrases (up to 9 characters). However, the code does not provide unambiguous identification of character or word, and from the whole set, 16.75% of the codes correspond to two or more (in reality up to 45) characters or words, and 44% of characters (or words) are not identifiable at all, i.e. have codes overlapping with other characters, and after inputting these codes, an additional selection is required from the user.
Cangjie method uses 24 basic and 87 secondary “characters”, or 111 characters in total. Of these, 44 characters are graphically different from the Kangxi radicals. The basic characters coincide with the radicals, and from the secondary ones some graphically coincide with individual radicals, some with their variants, some with strokes, and a small part includes just graphic components of a character, not represented in the previous groups. Of the 24 basic characters, only 13 coincide with the basic wubi characters. Among the secondary characters there are also those coinciding with the wubi components, but there are also different ones. The principle of this method is, as in the wubi method, in “binding” the characters to the codes of Latin keys. 24 keys are used to indicate the characters. In the Cangjie, one key is used for 2 to 8 characters. Even the characters coinciding with wubi are naturally bound to other keys, since these methods have different principles of arranging the characters on the keyboard. Decomposition rules of the Cangjie method seem to be simpler than that of wubi, but this method also requires taking into account different types of characters: single-unit, two-unit and three-unit characters, whose decomposition differs from each other. Due to the fact that the number of characters used is almost 2 times smaller than in the wubi method, and the number of keys used for encoding is less by one, the length of the resulting alphabetic code for graphically complex characters becomes larger. To speed up the input (reduce the number of manipulations), developers of the Cangjie method added rules for excluding certain characters to reduce the number of symbols in the obtained letter code of some characters. Despite this, the maximum number of symbols when inputting a single character in the Cangjie method still reaches 5, and only 238 characters are uniquely identified after pressing one or two keys. At the same time, 22.2% of characters are not uniquely identified. For such uniquely non-identifiable characters, the user is offered a choice from 2 to 8 variants. This, of course, is better than in the wubi method, but still there is no one-to-one correspondence between the code and the character.
Both methods have the same disadvantages: complexity of decomposition rules, heaviness and sophistication of organization of letter codes for characters, respectively, and difficulty of remembering the necessary sequence of keystrokes for inputting characters. The lack of one-to-one correspondence of codes and characters requires additional attention and actions of the user. The limited code binding field (25 and 24 keys) increases the number of necessary manipulations, and the input speed drops. On modern devices with a small touch screen the usual advantages of the keyboard in terms of input speed are lost because input on these devices usually involves the use of only one hand (the second holds the device). At the same time, the disadvantages of distribution of components on a small number of keys are retained. This distribution is uneven; it is not completely targeted at the convenience of inputting these components either by their sequence or frequency of use, which results in unnecessary movements of the mouse pointer or finger on the touch screen, respectively, reduces the input speed.
Decomposition rules of the structured coding methods have two aspects. The first is the aspect of the developer who needs decomposition rules to obtain the minimum possible unique code for each character. As described above, this aspect does not work well because of the lack of one-to-one correspondence of codes and characters in both wubi and Cangjie methods, despite their complexity, abundance of groups and styles, and many exceptions. The second aspect is the aspect of the user who needs to know this complex system of rules, conventions and exceptions in order to exactly repeat the developer's actions and reach the same result. It is clear that eventually the user, regardless of the decomposition rules, should simply remember the sequence of keystrokes for inputting a particular character. During text input, the user has no more time to manage with the decomposition. But the user does not have another method to get information about the desired sequence of keystrokes than to try to perform decomposition one way or another, as he cannot get help from the machine. In the actual input process, the user does not even see the components he has already inputted, but sees only a set of letters representing the sequence of keys he pressed, i.e. the input is performed “blindly”. In both structural coding methods, all the information on decomposition and matching the components to alphabetic codes is hidden from the machine; all of it is concentrated in the user's head. As already mentioned, the machine “knows” only the correspondence of letter codes to characters; complete information on actual graphical composition of character components after such encoding is lost forever and cannot be restored. Therefore, it is impossible to expect aid from the machine in situations of uncertainty: either the user inputted correct sequence of codes and got the desired character at output, or he made a mistake and got an absolutely unexpected result. Therefore, the abilities of these methods to find characters, by analogy with the known ones, based on the presence of similar component blocks, simply on the selection of all the characters having a particular component at the beginning or end of the character, are extremely limited. The artificial manner of isolating components, the lack of visibility both in decomposition and in binding components to a limited number of keys make it difficult for the user to master these methods.